package org.jeecg.modules.business.repertory.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 库存-锁库日志
 * @Author: jeecg-boot
 * @Date:   2023-08-01
 * @Version: V1.0
 */
@Data
@TableName("wms_repertory_lock_history")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="wms_repertory_lock_history对象", description="库存-锁库日志")
public class WmsRepertoryLockHistory implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
	/**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
	/**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;
	/**操作类型*/
	@Excel(name = "操作类型", width = 15, dicCode = "wms_operation_type")
	@Dict(dicCode = "wms_operation_type")
    @ApiModelProperty(value = "操作类型")
    private String operationType;
	/**操作人*/
	@Excel(name = "操作人", width = 15)
    @ApiModelProperty(value = "操作人")
    private String operator;
	/**操作日期*/
	@Excel(name = "操作日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "操作日期")
    private Date operatorDate;
	/**锁库量*/
	@Excel(name = "锁库量", width = 15)
    @ApiModelProperty(value = "锁库量")
    private BigDecimal lockQuantityMain;
	/**锁库量(辅单位)*/
	@Excel(name = "锁库量(辅单位)", width = 15)
    @ApiModelProperty(value = "锁库量(辅单位)")
    private BigDecimal lockQuantitySub;
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
	/**库存外键*/
	@Excel(name = "库存外键", width = 15)
    @ApiModelProperty(value = "库存外键")
    private String wmsRepertoryId;
	/**多租户*/
	@Excel(name = "多租户", width = 15)
    @ApiModelProperty(value = "多租户")
    private Integer tenantId;
	/**逻辑删除*/
	@Excel(name = "逻辑删除", width = 15)
    @ApiModelProperty(value = "逻辑删除")
    @TableLogic
    private Integer delFlag;
	/**来源系统*/
	@Excel(name = "来源系统", width = 15)
    @ApiModelProperty(value = "来源系统")
    private String systemOfOrigin;
	/**锁库类型*/
	@Excel(name = "锁库类型", width = 15, dicCode = "wms_lock_type")
	@Dict(dicCode = "wms_lock_type")
    @ApiModelProperty(value = "锁库类型")
    private String lockType;

    /**
     * 仓库id
     */
    @Excel(name = "仓库外键", width = 15, dictTable = "wms_basic_warehouse", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "仓库id")
    @Dict(dictTable = "wms_basic_warehouse", dicText = "name", dicCode = "id")
    @TableField(exist = false)
    private String wmsBasicWarehouseId;
    /**
     * 库区id
     */
    @Excel(name = "库区id", width = 15, dictTable = "wms_basic_warehouse_area", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "库区id")
    @Dict(dictTable = "wms_basic_warehouse_area", dicText = "name", dicCode = "id")
    @TableField(exist = false)
    private String wmsBasicWarehouseAreaId;
    /**
     * 库位id
     */
    @Excel(name = "库位id", width = 15, dictTable = "wms_basic_warehouse_area_location", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "库位id")
    @Dict(dictTable = "wms_basic_warehouse_area_location", dicText = "name", dicCode = "id")
    @TableField(exist = false)
    private String wmsBasicWarehouseAreaLocationId;
    /**
     * 库存单位
     */
    @Excel(name = "库存单位", width = 15, dictTable = "wms_basic_unit", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "库存单位")
    @Dict(dictTable = "wms_basic_unit", dicText = "name", dicCode = "id")
    @TableField(exist = false)
    private String wmsBasicUnitId;
    /**
     * 辅单位
     */
    @Excel(name = "辅单位", width = 15, dictTable = "wms_basic_unit", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "辅单位")
    @Dict(dictTable = "wms_basic_unit", dicText = "name", dicCode = "id")
    @TableField(exist = false)
    private String unitSub;
    /**
     * 库存组织
     */
    @Excel(name = "库存组织", width = 15)
    @ApiModelProperty(value = "库存组织")
    @TableField(exist = false)
    private String stockOrg;
    /**
     * 物料编码
     */
    @Excel(name = "物料编码", width = 15)
    @ApiModelProperty(value = "物料编码")
    @TableField(exist = false)
    private String materialCode;
    /**
     * 物料名称
     */
    @Excel(name = "物料名称", width = 15)
    @ApiModelProperty(value = "物料名称")
    @TableField(exist = false)
    private String materialName;
    /**
     * 规格型号
     */
    @Excel(name = "规格型号", width = 15)
    @ApiModelProperty(value = "规格型号")
    @TableField(exist = false)
    private String specification;
    /**
     * 批次号
     */
    @Excel(name = "批次号", width = 15)
    @ApiModelProperty(value = "批次号")
    @TableField(exist = false)
    private String batchCode;
}
